package com.smbms.util;

import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpSession;
import java.io.File;
import java.io.IOException;
import java.util.UUID;

/**
 * 类名：FileUtil
 * 作者：小涛
 * 创建时间：2021/8/26-16:08
 * 功能：
 */
public class FileUtil {
    public static String upload(MultipartFile multipartFile, HttpSession session) throws IOException {
        if (multipartFile == null || multipartFile.isEmpty()){
            return null;
        }
        //获取当前项目部署的路径，并在后面拼接upload/
        String realPath = session.getServletContext().getRealPath("/upload");
        System.out.println(realPath);
        File directory = new File(realPath);
        //文件夹不存在时创建
        if (!directory.exists()){
            directory.mkdirs();
        }
        //获取原文件名
        String fileName = multipartFile.getOriginalFilename();
        //截取文件后缀
        String suffix = fileName.substring(fileName.lastIndexOf("."));
        //UUID生成文件前缀
        String prefix = UUID.randomUUID().toString();
        //获得最终存储的文件名
        String finalName = prefix+suffix;

        //上传的文件位置
        File file = new File(realPath+"/"+finalName);
        //将上传的文件存储到指定的位置
        multipartFile.transferTo(file);

        //返回文件名
        return finalName;

    }
}
